export function sizeTostr(size) {
  var data = "";
  if (size < 0.1 * 1024) {
    //如果小于0.1KB转化成B
    data = size.toFixed(2) + "B";
  } else if (size < 0.1 * 1024 * 1024) {
    //如果小于0.1MB转化成KB
    data = (size / 1024).toFixed(2) + "KB";
  } else if (size < 0.1 * 1024 * 1024 * 1024) {
    //如果小于0.1GB转化成MB
    data = (size / (1024 * 1024)).toFixed(2) + "MB";
  }
  var sizestr = data + "";
  var len = sizestr.indexOf(".");
  var dec = sizestr.substr(len + 1, 2);
  if (dec == "00") {
    //当小数点后为00时 去掉小数部分
    return sizestr.substring(0, len) + sizestr.substr(len + 3, 2);
  }
  return sizestr;
}

function circlePick(inArry, outArry) {
  inArry.forEach((el) => {
    if (el.child?.length > 0) {
      circlePick(el.child, outArry);
    } else {
      outArry.push(el);
    }
  });
}

export function flatTreeArray(array) {
  let flatArray = [];
  circlePick(array, flatArray);
  return flatArray;
}

// 防抖是一段时间内只执行最后一次，节流是一段时间内执行第一次，后面不执行
export function throttle(fn, wait = 2000) {
  let pre = 0;
  return function () {
    let now = Date.now();
    if (now - pre >= wait) {
      fn.apply(this, arguments);
      pre = Date.now();
    }
  };
}

export function pickKeysBuildObj(originObj, ...keys) {
  if (keys.length > 0) {
    let newObj = {};
    keys.forEach((el) => {
      newObj[el] = originObj[el];
    });
    return newObj;
  }
}

// //[微笑] -> <img>
// export function turnEmojiToContent(testMessage) {
//   //编译表情替换成图片展示出来
//   var pattern1 = /\[.+?\]/g;
//   var pattern2 = /\[.+?\]/;
//   var emojTxtList = testMessage.match(pattern1); //匹配不到值为null
//   if (emojTxtList) {
//     for (let item of emojTxtList) {
//       let matchObj = emojiList.find((el) => el.name === item);
//       // name匹配不到的，[xx] 替换为空
//       var emoj = matchObj ? `<img src='${matchObj.url}'/>` : "";
//       testMessage = testMessage.replace(pattern2, emoj);
//     }
//   }
//   return testMessage;
// }

// // /wx -> <img>
// export function turnCopyContentToEditable(testMessage) {
//   const pattern1 = /\/\w+/g;
//   const urlRgx =
//     /(http|https|ftp|smtp):\/\/(?:[a-z0-9-]+\.)+[a-z]{2,20}(?:(?:\/(?:[\w#!:.?+=&%@!/-])*)+\/?)?/g;

//   let pureMsg = testMessage.replace(urlRgx, "");
//   var emojTxtList = pureMsg.match(pattern1); //匹配不到值为null
//   if (emojTxtList) {
//     for (let item of emojTxtList) {
//       let matchObj = emojiList.find((el) => el.code === item);
//       testMessage = testMessage.replace(item, () => {
//         // name匹配不到的，不做替换
//         var emoj = matchObj ? `<img src='${matchObj.url}'/>` : item;
//         return emoj;
//       });
//     }
//   }
//   testMessage = testMessage.replace(/\n/g, "<br>");
//   return testMessage;
// }

// export function turnInterfaceinfoToCanUse(arr) {
//   let list = [];
//   if (!arr || arr.length === 0) return list;
//   list = arr.map((el) => {
//     switch (el.type) {
//       case 1:
//         return { ...el, content: turnCopyContentToEditable(el.content) };
//       case 2:
//         return {
//           ...el,
//           content: decodeURIComponent(
//             el.content.split("/").pop().split("?")[0]
//           ),
//           url: el.content,
//         };
//       case 3:
//         return el;
//     }
//   });
//   return list;
// }
